Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Auto post



  Understanding PGO in GoLang 1.20

Background The Go 1.20 version was officially released in February 2023, it introduced the PGO(Profile Guided Optimization) mechanism. The basic principle of PGO can be divided into the following two steps: First, profiling is performed on the program to collect data about the program's runtime and generate a profiling file. When compiling the program, enable the PGO option, and the compiler will optimize the program's performance based on the content in the .pgo file. When compiling a program...

   GO 1.20,PGO,GOLANG     2023-02-28 04:27:46

  The Failure of Passive Recruiting: Recruiters

This is an actual conversation I had with a recruiter:Phone rings and I pick it upHim: Hi, is Paul there?Aaron: May I ask who is calling?Him: I have a technical question. Aaron: Ok, what is it?Him: Are you technical?Aaron: Yes. Who is this?Him: Who are you?Aaron: Are you a recruiter?Him: Yes and…Aaron: Great, send us your resumes, if we like what you send over, we’ll let you know if we want to meet with the candidates, other tha...

   Recruiter,HR,Recruitment,Failure,Hire     2011-10-26 06:59:33

  10 major updates of Windows 8.1

Last night, the 2013 Microsoft Build Developer Conference started in San Francisco. The highlight of the first day is Microsoft CEO Steve Ballmer announced the release of Windows 8.1 Preview . The final version will be released in November and he also mentioned that there would be over 300 updates on the new OS. Now let's summarize 10 major updates of the new OS. 1. Classical desktop mode After getting a lot of feedback from users, Microsoft adds a new setting. Users can choose to start in clas...

   Windows 8.1,Build     2013-06-27 05:45:02

  Why can System.out.println be used to exit while loop

Let's first take a look at one simple Java thread code snippet which is supposed to exit the while loop after the first loop run. public class StopThread { private static boolean stopRequested; public static void main(String[] args) throws InterruptedException { Thread backgroundThread = new Thread(new Runnable() { @Override public void run() { int i = 0; while (!stopRequested) { i++; } } }); backgroundThread.start(); TimeUnit.SECONDS.sleep(1); stopRequested = true; } } But the tr...

   JAVA,THREAD,VOLATILE     2018-12-21 19:25:54

  Exit main thread and keep other threads running in C

In C programming, if using return in main function, the whole process will terminate. To only let main thread gone, and keep other threads live, you can use thrd_exit in main function. Check following code: #include #include #include int print_thread(void *s) { thrd_detach(thrd_current()); for (size_t i = 0; i < 5; i++) { sleep(1); printf("i=%zu\n", i); } thrd_exit(0); } int main(void) { ...

   C LANGUAGE,MULITHREAD,MAIN THREAD     2020-08-14 21:20:04

  Lossless and Transparency Encoding in WebP

In September 2010 we announced the WebP image format with lossy compression. WebP was proposed as an alternative to JPEG, with 25–34% better compression compared to JPEG images at equivalent SSIM index. We received lots of feedback, and have been busy improving the format.Last month we announced WebP support for animation, ICC profile, XMP metadata and tiling. Today, we introduce a new mode in WebP to compress images losslessly, and support for transparency â€â...

   Google,WebP,Image,Compress, Lossless compression,Transparency     2011-11-18 08:48:33

  A Python assignment trap

Python has no assignment, it only has reference. Assume, we have following code snippet: >>> values = [0, 1, 2] >>> values[1] = values >>> values [0, [...], 2] Why the result is not [0, [0, 1, 2], 2], instead it goes into an infinite loop? To understand this, we need to understand some basics about Python. Python has no variables, it only has labels. When we run: values = [0, 1, 2] Python will first create a list object [0,1,2], then it labels it as values. If we later...

   Python,Assignment,Trap,Shallow copy     2013-07-19 22:08:36

  Java’s toLowerCase() has got a surprise for you!

Have you ever encountered a surprise while using toLowerCase()? This is a widely used method when it comes to strings and case conversion. There is a nice little thing you should be aware of. toLowerCase() respects internationalization (i18n). It performs the case conversion with respect to your Locale. When you call toLowerCase(), internally toLowerCase(Locale.getDefault()) is getting called. It is locale sensitive and you should not write a logic around it interpreting loca...

   Java,toLowerCaser(),Locale specific,Stra     2011-09-29 11:21:07

  Address of a Java Object

In conventional java programming, you will never need address or location of a java object from memory. When you discuss about this in forums, the first question raised is why do you need to know the address of a java object? Its a valid question. But always, we reserve the right to experiment. Nothing is wrong in exploring uncharted areas.I thought of experimenting using a little known class from sun package. Unsafe is a class that belongs to sun.misc package. For some of you the package might ...

   Java,Object,Address,Memory,Start address     2011-09-29 11:17:46

  9 quotes that stayed with me as a developer

I find quotes inspiring, motivating or sometimes just thought provoking, so here's some of my favourites from over the years. Sometimes reading a book can have a real influence on how you write code, or how you approach a problem. Sometimes a simple quote  is enough to make me question the way I look at the code I'm writing. Or often I sit in awe about someone's so well distilled what I've known internally for ages but have never been able to enunciate.   "Design is finding t...

   Quote,programmer,programming     2011-05-27 03:34:49